]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
appDisplay: Mostly remove adaptToSize
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>
Wed, 8 Jun 2022 15:35:30 +0000 (12:35 -0300)
committerMarge Bot <marge-bot@gnome.org>
Wed, 10 Aug 2022 15:16:36 +0000 (15:16 +0000)
Back in the day, adaptToSize() contained mad maths to figure out
icon sizes. Over time, its scope was reduced, to the point where
we are today where it mostly just redoes some quick maths to
predict the grid size based on the CSS box model.

Remove adaptToSize() from BaseAppView and child classes. It still
is an internal detail of the IconGrid class, but it's not exposed
as a "public" method anymore.

This removal is not perfect, as it doesn't move or compensate for
any of page indicators and arrows code. This will be done in follow
up commits introducing a new layout manager for that.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2335>

js/ui/appDisplay.js
js/ui/iconGrid.js

index 1240caf0467c646d3f05640c756ddf8b56d27f6e..0eebbe976329e299cfda5aed7e4379a2dec13f40 100644 (file)
@@ -918,15 +918,6 @@ var BaseAppView = GObject.registerClass({
         this._grid.moveItem(item, newPage, newPosition);
     }
 
-    vfunc_allocate(box) {
-        const width = box.get_width();
-        const height = box.get_height();
-
-        this.adaptToSize(width, height);
-
-        super.vfunc_allocate(box);
-    }
-
     vfunc_map() {
         this._swipeTracker.enabled = true;
         this._connectDnD();
@@ -1011,27 +1002,6 @@ var BaseAppView = GObject.registerClass({
         this._grid.goToPage(pageNumber, animate);
     }
 
-    adaptToSize(width, height) {
-        let box = new Clutter.ActorBox({
-            x2: width,
-            y2: height,
-        });
-        box = this.get_theme_node().get_content_box(box);
-        box = this._scrollView.get_theme_node().get_content_box(box);
-        box = this._grid.get_theme_node().get_content_box(box);
-
-        const availWidth = box.get_width();
-        const availHeight = box.get_height();
-
-        this._grid.adaptToSize(availWidth, availHeight);
-
-        const leftPadding = Math.floor(
-            (availWidth - this._grid.layout_manager.pageWidth) / 2);
-        this._pageIndicatorOffset = leftPadding;
-        this._pageArrowOffset = Math.max(
-            leftPadding - PAGE_PREVIEW_MAX_ARROW_OFFSET, 0);
-    }
-
     _getIndicatorOffset(page, progress, baseOffset) {
         const rtl = this.get_text_direction() === Clutter.TextDirection.RTL;
         const translationX =
@@ -1311,14 +1281,6 @@ class AppDisplay extends BaseAppView {
         super._redisplay();
     }
 
-    adaptToSize(width, height) {
-        const [, indicatorHeight] = this._pageIndicators.get_preferred_height(-1);
-        height -= indicatorHeight;
-
-        this._grid.findBestModeForSize(width, height);
-        super.adaptToSize(width, height);
-    }
-
     _savePages() {
         const pages = [];
 
@@ -2013,10 +1975,6 @@ class FolderGrid extends IconGrid.IconGrid {
             page_valign: Clutter.ActorAlign.CENTER,
         });
     }
-
-    adaptToSize(width, height) {
-        this.layout_manager.adaptToSize(width, height);
-    }
 });
 
 var FolderView = GObject.registerClass(
@@ -2149,13 +2107,6 @@ class FolderView extends BaseAppView {
         return false;
     }
 
-    adaptToSize(width, height) {
-        const [, indicatorHeight] = this._pageIndicators.get_preferred_height(-1);
-        height -= indicatorHeight;
-
-        super.adaptToSize(width, height);
-    }
-
     _loadApps() {
         let apps = [];
         let appSys = Shell.AppSystem.get_default();
index 599374fa35922daa040f33818630c97bc6575491..a5f86fc64daaa0040b5a2829385e5012d943286d 100644 (file)
@@ -1207,6 +1207,11 @@ var IconGrid = GObject.registerClass({
         delete child._iconGridKeyFocusInId;
     }
 
+    vfunc_allocate(box) {
+        this.layout_manager.adaptToSize(...box.get_size());
+        super.vfunc_allocate(box);
+    }
+
     vfunc_style_changed() {
         super.vfunc_style_changed();
 
@@ -1391,10 +1396,6 @@ var IconGrid = GObject.registerClass({
         return this.layout_manager.nPages;
     }
 
-    adaptToSize(width, height) {
-        this.layout_manager.adaptToSize(width, height);
-    }
-
     setGridModes(modes) {
         this._gridModes = modes ? modes : defaultGridModes;
         this.queue_relayout();